Systems and Methods for Guided Construction of a Search Query in an Electronic Commerce Environment

ABSTRACT

A computer-implemented method includes receiving a search query from a user through a user interface of a user computing device, identifying a search term within the search query, the search term including at least a portion of the search query, generating, based at least in part on the search term, one or more alternative search terms that are each different from the search term, and sending, over the communication network, the one or more alternative search terms to the user computing device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 as a continuationof co-pending U.S. patent application Ser. No. 15/461,920, titled“SYSTEMS AND METHODS FOR GUIDED CONSTRUCTION OF A SEARCH QUERY IN ANELECTRONIC COMMERCE ENVIRONMENT,” filed on Mar. 17, 2017, which is acontinuation of co-pending U.S. application Ser. No. 13/109,430, titled“SYSTEMS AND METHODS FOR GUIDED CONSTRUCTION OF A SEARCH QUERY IN ANELECTRONIC COMMERCE ENVIRONMENT,” filed on May 17, 2011, which areherein incorporated by reference in their entirety for all purposed.

BACKGROUND OF THE INVENTION 1. Field of Invention

Embodiments of the present invention relate generally to electroniccommerce.

2. Discussion of Related Art

A search engine is a computer program that facilitates locatingelectronically stored information, for example, in a database. Searchengines are commonly used in distributed computer systems, such as thoseconnected to the Internet, for providing information to users. In oneexample implementation, a user can provide input to the search engine inthe form of a search query, which may include one or more words that arerelevant to the information sought. The search engine searches forinformation that satisfies the search query and returns the informationto the user as a set of search results.

BRIEF SUMMARY OF THE INVENTION

According to one embodiment of the present invention, it is appreciatedthat a common problem for users who use a conventional search engineincludes deciding how to improve or change the search query to yielddesirable results. For example, it can be difficult for a user to finddesired information using a conventional search engine unless the userhas prior or independent knowledge of which search terms are likely toprovide the best results. Therefore, it is desirable to provide the userwith guidance in constructing the search query. Such guidance mayinclude, for example, suggesting one or more additional and/oralternative search terms to the user based on a user-supplied searchquery. The user may optionally select and use the additional and/oralternative search terms to construct a different search query that willyield desirable results.

Systems and methods of providing guided construction of a search queryin accordance with various embodiments of the invention are describedherein. One particular embodiment includes a method for identifying oneor more component search terms within a user-supplied search query, andgenerating one or more additional and/or alternative search terms based,at least in part, on the component search terms of the user-suppliedsearch query. According to one embodiment, additional and/or alternativesearch terms may be generated and suggested to the user based onrelevancy criteria applied to the information to be searched, such asdescriptions, colors, materials, textures, uses, and othercharacteristics. In this manner, the additional and/or alternativesearch terms can be used by the user to construct a search query thatyields desirable results.

In one example, a user interface is provided and configured to presentone or more alternative search terms to the user for review within theuser interface. The alternative search terms may be generated inresponse to a user-supplied search query. The user interface may befurther configured to enable the user to modify the search query byelectively removing one or more of the search terms from the searchquery, electively adding search terms to the search query from a list ofadditional search terms that are generated based, at least in part, onthe search query, and/or electively substituting the search terms in thesearch query with alternative search terms that are generated based, atleast in part, on the search query. The user may, for example, constructthe search query using the additional and/or alternative search terms byselecting one or more of the search terms with an input device, such asa mouse, in a single action (e.g., by simply clicking on one of thesearch terms). The selected term or terms are automatically added to thesearch query, or substituted for a search term that is already in thesearch query.

The modified search query may be submitted to a search engine forprocessing (e.g., to generate a new set of search results based on themodified search query, and/or to refine an existing set of searchresults based on the modified search query). Accordingly, the searchresults and/or the overall search process can be improved by enablingthe user to choose from one or more suggested search terms that willassist the user in achieving desirable search results. In anotherexample, the user may modify the search query by removing one or moresearch terms (e.g., by simply clicking on a search term, or iconassociated with the search term, within the user interface). Themodified search query may be submitted to the search engine forprocessing, such as described above.

According to one embodiment of the present invention, acomputer-implemented method includes receiving, over a communicationsnetwork, a search query from a user through a user interface of a usercomputing device, identifying a search term within the search query, thesearch term including at least a portion of the search query,generating, based at least in part on the search term, one or morealternative search terms that are each different from the search term,and sending, over the communication network, the one or more alternativesearch terms to the user computing device.

In another embodiment, the computer-implemented method may includemodifying the search query by substituting the search term with at leastone of the alternative search terms in response to a single action to betaken by the user within the user interface. The modified search querymay include the alternative search terms. The single action may includeaccepting an input from the user that selects the at least one of thealternative search terms.

In yet another embodiment, the computer-implemented method may includegenerating a set of search results by searching, based on the modifiedsearch query, for information contained in one or more databases.

In yet another embodiment, the computer-implemented method may includemodifying the search query by removing the search term from the searchquery in response to a single action to be taken by the user within theuser interface. The single action may include accepting an input fromthe user that selects the search term to be removed.

In yet another embodiment, the computer-implemented method may includegenerating a set of search results by searching, based on the modifiedsearch query, for information contained in one or more databases.

In yet another embodiment, the computer-implemented method may includemodifying the search query by adding at least one of one or more thealternative search terms to the search query in response to a singleaction to be taken by the user within the user interface. The singleaction may include accepting an input from the user that selects the atleast one of the one or more alternative search terms.

In yet another embodiment, the computer-implemented method may includegenerating a new set of search results by searching for informationcontained in one or more databases based on the modified search query.

In yet another embodiment, the computer-implemented method may includegenerating one or more search category selectors based, at least inpart, on the search term. Each of the one or more search categoryselectors may be categorically representative, at least in part, of oneor more properties of a merchandise item. In yet another embodiment, thecomputer-implemented method may include generating a user interfacehaving the one or more search category selectors. The user interface maybe configured to display at least one of the one or more alternativesearch terms in response to an action to be taken by the user within theuser interface upon a respective one of the one or more search categoryselectors, and the user interface may be sent to the user computingdevice over the communications network.

In yet another embodiment, at least one of the generated one or morealternative search terms may represent a property of a merchandise item.In yet another embodiment, the property may include a description of themerchandise item, a theme associated with the merchandise item, a styleof the merchandise item, a color of the merchandise item, a use for themerchandise item, a psychological appeal of the merchandise item, aspecification for the merchandise item, a type of intended recipient forthe merchandise item, an occasion associated with the merchandise item,a material that the merchandise item is constructed of, a tactilesensation of the merchandise item, and/or a construction techniqueassociated with the merchandise item.

In yet another embodiment, the computer-implemented method may includegenerating a user interface having the one or more alternative searchterms displayed within a window, the one or more alternative searchterms being selectable by a user using an input device operativelycoupled to the user interface. In yet another embodiment, thecomputer-implemented method includes modifying the search query byadding a user-selected one of the displayed alternative search terms tothe search query in response to the user selecting the user-selectedalternative search term through the user interface. In yet anotherembodiment, the computer-implemented method may include generating a setof search results, based on the modified search query, by searching forinformation contained in one or more databases.

In yet another embodiment, the computer-implemented method may includemodifying the search query by substituting the identified search termwith a user-selected one of the displayed alternative search terms inresponse to the user selecting the user-selected alternative search termthrough the user interface. The modified search query may include theuser-selected alternative search term. In yet another embodiment, thecomputer-implemented method may include generating a set of searchresults, based on the modified search query, by searching forinformation contained in one or more databases.

According to one embodiment of the present invention, acomputer-implemented method includes sending a search query to a searchengine, receiving one or more alternative search terms from the searchengine, and displaying, within a user interface, the search query andthe one or more alternative search terms. The one or more alternativesearch terms are based, at least in part, on at least a portion of thesearch query. The sending and receiving may occur through acommunication network. At least one of the generated one or morealternative search terms may represent a property of a merchandise item.

In another embodiment, the computer-implemented method may includeidentifying, to a user and within the user interface, a search termwithin the search query. In yet another embodiment, thecomputer-implemented method may include enabling the user to select oneof the one or more alternative search terms displayed within the userinterface using a user input device, and modifying the search query bysubstituting the search term with the selected alternative search termin response to a single action to be taken by the user within the userinterface, such that the search query includes the selected alternativesearch term. The single action may include accepting an input from theuser that selects the alternative search term to be substituted.

In yet another embodiment, the computer-implemented method may includeenabling the user to select one of the one or more alternative searchterms displayed within the user interface using a user input device, andadding the selected alternative search term to the search query inresponse to a single action to be taken by the user within the userinterface, such that the search query includes the selected alternativesearch term. The single action may include accepting an input from theuser that selects the alternative search term to be added.

In yet another embodiment, the computer-implemented method may includeenabling a user to delete the search term from the search query inresponse to a single action to be taken by the user within the userinterface. The single action may include accepting an input from theuser that selects the search term to be deleted.

In yet another embodiment, the computer-implemented method may includegenerating one or more search category selectors based, at least inpart, on the search term, wherein each of the one or more searchcategory selectors is categorically representative, at least in part, ofone or more properties of the merchandise item. In yet anotherembodiment, the computer-implemented method may include configuring theuser interface to display at least one of the alternative search termsin response to an action to be taken by the user within the userinterface upon a respective one of the search category selectors.

According to one embodiment of the present invention, acomputer-implemented method includes sending a search query to acomputer server system over a communications network, receiving, fromthe computer server system over the communications network, one or morealternative search terms, wherein at least one of the one or morealternative search terms represents a property of a merchandise item,displaying, on a user interface, a list including the one or morealternative search terms, identifying a search term within the searchquery, enabling a user, through the user interface, to select the searchterm, receiving, from the user through the user interface, a selectedsearch term in response to an action to be taken by the user upon thesearch term within the user interface, enabling the user, in response toreceiving the selected search term, to select one or more of thealternative search terms from the displayed list through the userinterface, and, receiving, from the user through the user interface, aselected alternative search term in response to an action to be taken bythe user upon the search term within the user interface.

In another embodiment, the computer-implemented method may includemodifying the search query by substituting the selected search term withthe selected alternative search term. In yet another embodiment, thecomputer-implemented method may include modifying the search query byadding the selected alternative search term to the search query.

According to one embodiment of the present invention, a computer systemincludes a memory, a processor coupled to the memory and configured toexecute one or more non-transient programs stored in the memory, and anetwork interface coupled to the processor and a communication network.The network interface may be configured to send and receive data throughthe communication network. The one or more programs include instructionsexecutable by the processor, and when executed are configured toreceive, over the communications network, a search query from a userthrough a user interface of a user computing device, identify a searchterm within the search query, the search term including at least aportion of the search query, generate, based at least in part on thesearch term, one or more alternative search terms that are eachdifferent from the search term, and send, over the communicationnetwork, the one or more alternative search terms to the user computingdevice.

According to one embodiment of the present invention, a non-transitorycomputer readable medium has computer-executable instructions storedthereon. The computer-executable instructions, when executed by acomputer, cause the computer to perform a method including receiving,over a communications network, a search query from a user through a userinterface of a user computing device, identifying a search term withinthe search query, the search term including at least a portion of thesearch query, generating, based at least in part on the search term, oneor more alternative search terms that are each different from the searchterm, and sending, over the communication network, the one or morealternative search terms to the user computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are not intended to be drawn to scale. In thevarious drawings, each identical or nearly identical component that isillustrated in various figures is represented by a like numeral. Forpurposes of clarity, not every component may be labeled in everydrawing. In the drawings:

FIGS. 1A-1E illustrate a graphical user interface for providing guidedconstruction of a search query, in accordance with an embodiment of thepresent invention;

FIG. 2 is a flow diagram of a process for guided construction of asearch query, in accordance with another embodiment of the presentinvention; and

FIG. 3 is a block diagram showing a system for guided construction of asearch query, in accordance with yet another embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the invention are not limited in their application to thedetails of construction and the arrangement of components set forth inthe following description or illustrated in the drawings. Embodiments ofthe invention are capable of other embodiments and of being practiced orcarried out in various ways. Also, the phraseology and terminology usedherein is for the purpose of description and should not be regarded aslimiting. The use of “including,” “comprising,” “having,” “containing,”“involving,” and variations thereof herein is meant to encompass theitems listed thereafter and equivalents thereof as well as additionalitems.

Overview

A search engine, according to one embodiment of the invention, includesimproved algorithms for locating certain information, such asinformation stored in one or more databases, with one or more computers.The searching is based, at least in part, on a user-supplied searchquery. The search engine may utilize techniques in which the searchresults are dependent on the terms within the search query. For example,the search engine may process search queries that are unstructured inthat the terms appear in no specific order and are not subject to anysyntax rules.

One example of such an unstructured search query is a search query of“green shirt,” which may be treated in substantially the same manner asa search query for “shirt green.” In other words, the results of thesearch may be substantially the same regardless of the order of thesearch terms “green” and “shirt” within the search query. Further, theterms themselves may be ambiguous. For example, “shirt” or “shirts” maybe interpreted to broadly include any type of garment that is worn onthe upper body, and either term is not limited to the singular orplural. Similarly, “green” may be interpreted, for example, to includeitems that are green in color and “green” as a synonym for somethingthat is environmentally friendly. The results of a search, therefore,may be dependent on the specificity, or lack thereof, of the termsprovided by the user in the search query. The search results mayoptionally be revised by the user adding, removing, or modifying one ormore terms of the search query, for example, to narrow the results to asubset of the original results, to generate new results, or somecombination thereof.

According to one embodiment, it is appreciated that while someconventional search algorithms can produce results for broad andunstructured queries, which is a desirable feature, the flexibility suchan approach affords also tends toward a one-size-fits-all solution thatis not adequately customized for the search preferences of an individualuser. This can make the process of discovering relevant information moredifficult for the user. For instance, if the user is dissatisfied withthe results produced by an initial search query, the user mustcontemplate alternative approaches to generating the query, typically ina trial-and-error fashion. For example, a user who is searching for redshirts may be inundated with results containing information about anyand all kinds of shirts that are red in color, or theme, or style, toname just a few possibilities. Such a broad spectrum of information isunlikely to provide satisfactory results for the user. Therefore, theuser is faced with the prospect of deciding how to modify the query in away that is likely to produce more relevant results, usually by devisingalternative search queries. According to at least one embodiment of thepresent invention, new techniques are used to improve the quality of theresults by assisting or guiding the user in constructing a search querythat is likely to produce more highly relevant results.

According to one embodiment of the present invention, a search engineuses one or more different search algorithms to perform searches forinformation that is relevant to a user query. Further, the searchalgorithm may optionally be configured to calculate the relevancy of anyinformation matching some criteria for satisfying the query, and limitthe search results to include only information having a high relevancyto the query. This reduces the difficulties caused when the mostrelevant results are obscured from the user by virtue of informationoverload. The algorithms may be tailored to locate information that ismost relevant to the context in which the user requesting theinformation is operating. For example, if the user is searching withinan e-commerce environment, the search algorithm may be configured tosearch for information within the context of one or more categories ofinformation that are relevant to merchandise sold within theenvironment, such as item description, color, style, material, price,usage, construction technique, intended use and/or user, and so forth.

According to at least one embodiment of the present invention, it isappreciated that many users begin searching for information,particularly within an e-commerce environment, by entering a simple andbroad search query into their web browser. For example, an initialsearch query may include “antique gold cuff links.” Given the ambiguityof the initial query and the large amount of relevant informationavailable (e.g., within a catalog or listing of items for sale), theresults of such a search are likely too coarse or overbroad to be ofmuch use to the user. For example, the search results may containhundreds or thousands of information matches, or “hits.” Such a largenumber of hits may be one indication that the results are not refinedenough to be of significant value to the user. At this point, the useris subjected to information overload and is unlikely to spend much timeadditional inspecting such a coarse result set. Rather, the user willprefer to revise the search in an iterative manner until either the useris satisfied with the results or decides to abandon the search.

Typically, one difficulty facing the user is a lack of knowledge aboutthe content of the information that is available. For example, a usersearching for hats may not be familiar with the variety of styles,colors, materials, descriptions, purposes, uses, constructiontechniques, and so forth that exist, making the search process moredifficult to refine without assistance. Thus, according to oneembodiment of the present invention, techniques are described herein forproviding assistance to a user who is searching for information, such asitems for sale within an e-commerce website.

In one embodiment, initially a search query is received from a usercomputing device. This may occur after a user has entered the searchquery into, for example, a web browser and submitted the query forsearching. The search query is parsed to identify one or more termswithin the query. The terms may be individual words or groups of wordsthat are related, for example, for search purposes, such as by category(e.g., style, color, material, description, and so forth). In oneexample, if the search query is “elegant gold cuff links,” the query maybe parsed into the terms “elegant” (a style and/or theme term), “gold”(a color and/or material term), and “cuff links” (a description term).In this manner, the search query is broken down into constituent partsfor convenience and to aid in constructing a modified search queryhaving more, fewer, or different terms than the prior or original searchquery.

For one or more of the identified search terms, one or more alternativesearch terms are generated. For example, alternative terms for “elegant”(e.g., a style and/or theme) may include “formal” or “shiny”;alternative terms for “gold” (e.g., a color and/or material) may include“silver” or “brass”; and alternative terms for “cuff links” (e.g., adescription, purpose and/or use) may include “brooch” or “charm.” Theuser may optionally delete the identified search term from the searchquery, add one of the alternative terms to the query, and/or substitutethe identified search term with one of the alternative terms. Inresponse to any of these actions, new or revised search results may bepresented to the user (e.g., within a window of a browser operating onthe user computing device).

In another embodiment, the user may perform any of the above actionswith a single action, such as by using a mouse or other input device toselect the action by clicking on a portion of a user interface that isconfigured accordingly. Accordingly, this technique enables the user toiteratively revise a search query quickly, categorically and efficientlywithout having to use a keyboard and without having to know relevantsearch terms beforehand. Further, unlike some conventional predictivesearch techniques, some embodiments of the present invention enable auser to selectively choose from a plurality of alternative search termsthat have categorical relevance to the subject matter of the informationsought.

These and other embodiments are described below with respect to thedrawings.

Guided Construction of a Search Query Examples

FIGS. 1A-1E illustrate a graphical user interface (GUI) 100 forproviding guided construction of a search query according to oneembodiment of the present invention. GUI 100 is generated at least inpart using data provided by a computer system, such as a system thatprovides an e-commerce website, and may be displayed by a browserprogram operating on a user computing device, such as a personalcomputer connected to the computer system over a network (e.g., theInternet, an intranet, or other communications network that supportsdata transmission between the computer system and the user computingdevice). Various exemplary techniques for providing the guidedconstruction of the search query are described with respect to GUI 100as shown in FIGS. 1A-1E. The manner in which these techniques aredescribed herein should not be interpreted as prescribing a particularorder or sequence in which embodiments of the present invention must becarried out. For example, certain functions shown in the variousdrawings may occur separately and independently of others, such as wouldbe caused in response to various interactions with GUI 100 by a user.Thus, various embodiments of the present invention do not constrain theuser in the manner of using GUI 100 to what is specifically describedbelow, and various embodiments of the present invention may operate inother ways or combinations not explicitly set forth in this description.

FIG. 1A shows GUI 100 configured to display an entry point for enablingthe user to begin a guided search, according to one embodiment. GUI 100includes a search query entry field 102 into which the user may entertext representing the terms of a search query. As shown in FIG. 1A,search query entry field 102 may be initially empty, allowing the userto enter a new search query. The text that the user enters into searchquery entry field 102 may subsequently be used by the computer system(e.g., a web server or other computer system that supports operation ofthe e-commerce website) to generate a set of search results based, atleast in part, on the search query using one or more search algorithms.For example, the search may be initiated in response to the userclicking on a search button within GUI 100 or pressing an Enter key on akeyboard of the user computing device. After receiving the search query,the search algorithm or algorithms apply the search query againstinformation stored in one or more databases to locate relevantinformation therein, and the computer system delivers the relevantinformation to GUI 100 so that the user may view the information. In atleast one embodiment, known search algorithms are used to locate therelevant information.

FIG. 1B shows GUI 100 subsequent to processing the search query enteredinto search query entry field 102. In the illustrated example, thesearch query that the user entered into search query entry field 102 is“garden seasonal.” A set of search results 104 may be displayed withinGUI 100. The search results may, for example, include merchandise itemsthat are relevant to the search query as applied to one or more searchalgorithms. GUI 100 includes one or more add term selectors 106, whichmay be utilized by the user to modify the search query, as will bediscussed in further detail below.

The search query can be broken down into one or more component searchterms. Each search term includes one or more words of the search query.In this example, where the search query is “garden seasonal,” the searchterms are “garden” and “seasonal.” It should be understood that a searchterm may include one or more words of the search query that are groupedtogether. For example, each of the phrases “New York,” “bird house,” or“street lamp” may be considered a single component search term due tothe relation of the words within the search term. Although “bird” and“house” may also be component search terms, the results of searching“bird” or “house” may not produce the same results as “bird house” (or“birdhouse”), the latter of which is more likely what the user desiresto search for. If the search query includes only one word, then thesearch term may be the same as the search query. Each of the searchterms may be selected by the user within GUI 100, for example, byclicking on or hovering over the term with a mouse or other input deviceconnected to the user computing device.

FIG. 1C shows GUI 100 when the user selects one of the search terms; inthis example, the term “garden” is selected. The selected search term108 is highlighted, and an alternative search term display 110 ispresented to the user. Alternative search term display 110 includes oneor more alternative search terms that are each related to selectedsearch term 108. The alternative search terms may be generatedautomatically by the computer system in response to receiving and/orprocessing the search query. For example, the alternative search termsmay be based, at least in part, on terms related to selected search term108, such as by description, color, material, use, or other relevantcharacteristic.

In one embodiment, the alternative search terms are drawn from adatabase of item listings (e.g., item description keywords) and/or froman electronic dictionary and/or thesaurus. Any one or more of thealternative search terms displayed in alternative search term display110 may be selected by the user, for example, using the mouse to clickon one of the alternative search terms, and the selected alternativesearch term is automatically added to the search query. For example, theuser may select “rustic” as an alternative search term, which modifiesthe search query to “rustic seasonal.” Subsequent to adding one or moreof the alternative search terms to the search query, a new search may beperformed using the modified search query. In this manner, the computersystem guides the user in constructing the search query by enabling theuser to select alternative search terms from alternative search termdisplay 110 for revising the set of search results 104. In particular,according to one embodiment, the alternative search terms may be addedto the search query by a single user action, for example, by simplyclicking on the desired alternative search term. As used herein, thesingle user action or single action may include, for example, depressinga button on an input device such as a mouse, or a similar actionperformed or taken by a user within the user interface (e.g., GUI 100).An indication of the performance of the single action may be sent fromthe user interface, executing on a user computing device, to thecomputer system (e.g., the web server) subsequent to the performance ofthe single action, such as by sending a message.

In another embodiment, selected search term 108 may be removed ordeleted from the search query by the user, for example, by clicking onan “X” icon (shown but not labeled) displayed next to selected searchterm 108, or by use of another mechanism (e.g., pressing the backspaceor delete key). In this example, the user may delete the selected searchterm “garden” by clicking the “X” next to the term. Subsequently, thesearch query is modified to “seasonal.” Optionally, a new search may beperformed automatically using the modified search query.

FIG. 1D shows GUI 100 in a configuration similar to that shown in FIG.1C, except in FIG. 1D the user has selected the search term “seasonal,”and alternative search term display 100 includes a different set ofalternative search terms that are related to the search term “seasonal.”For example, within the context of garden items (as included in thesearch query), the search term “seasonal” could be considered a modifierterm, as in seasonal garden items. Thus, the alternative search termsfor “seasonal” may specifically include other modifier terms related to“garden,” such as “commercial” or “ecofriendly.” However, it should beappreciated that the alternative search terms are not so limited. Forexample, the selected search term may be categorized according to arelevant characteristic, such as description, style, theme, color,material, purpose, use, specification, construction technique, and/orintended user or recipient. Any of these categories may be used togenerate alternative search terms that are relevant to the correspondingcategory. Additional examples of categorized search terms are describedbelow.

FIG. 1E shows GUI 100 including add term selectors 106, according to oneembodiment. Add term selectors 106 are displayed in GUI 100 as, in oneexample, a list of categories of search terms that may optionally beused by the user to add additional search terms to the search query. Thecategories may have generic, descriptive or fanciful names such as “Whatis it?” (e.g., a category including a portion of an item description),“Theme & Style,” “Color,” “Material & Feel,” “Purpose or Use,”“Specification,” “Technique,” “For Whom & When,” and/or other namesrepresenting various categories of search terms. Each category mayrepresent a property associated with a merchandise item (e.g., an itemincluded in a set of search results generated from the search query).For example, one property of the merchandise item may be color, such asblue, green, or red, and therefore one of the categories of search termsmay be “color.” In another example, one property of the merchandise itemmay be psychological appeal, for instance, a blanket may representcomfort and/or warmth, in which case the relevant category may be“comfort,” “cozy,” or “winter,” just to name a few examples. Othercategories representing properties other than those described herein maybe used. Each of add term selectors 106 is selectable by the user, usingan input device such as a mouse, although one or more of the add termselectors may be disabled or configured to disallow such user selection.

The use and operation of add term selectors 106 are now describedthrough an example. As shown in FIG. 1E, an exemplary search query of“garden seasonal” has been entered into search query entry field 102,and a search performed by the computer system in response to receivingthe search query, with a portion of one set of search results 104displayed within GUI 100. Depending at least in part on the searchquery, one or more of add term selectors 106 are displayed and activatedto enable the user to select a respective one of the selectors (e.g.,using an input device such as a mouse). As described above, each addterm selector 106 represents a different category of additional searchterms 112 within which one or more additional search terms 112 arecontained. For example, one category may be called “What is it?” andinclude search terms that are descriptive of items relevant to thesearch query, such as “art,” “toy,” “decoration,” “outdoor,” and soforth. In another example, one category may be called “Color” andinclude search terms that are descriptive of the color or appearance ofitems relevant to the search query, such as “blue,” “green,” “pink,”“aqua,” “plaid,” and so forth. The categories may be fixed, in that theyare the same or substantially similar regardless of the search query, orthe categories may be variable, in that they are generated by thecomputer system in response to submission of the search query and thusmay be different for different search queries.

In one embodiment, additional search terms 112 are automaticallygenerated by the computer system in response to processing the searchquery in a manner similar to that described above with respect toalternative search terms 110 in FIG. 1C, and may optionally be groupedaccording to one or more of the categories represented by add termselectors 106. As described below, one or more of additional searchterms 112 may be optionally selected by the user, which causes theselected term to be automatically added to the search query (thusmodifying the search query). Because of the variable nature of thesearch query and the results that are subsequently produced byperforming the search query, one or more add term selectors 106 may notbe active after the search query is performed. For example, only thoseselectors for which one or more relevant alternative search terms aregenerated may be active. Described in another way, if additional searchterms are generated for “What is it?” and “Color,” only the add termselectors 106 corresponding to “What is it?” and “Color” are active, andany other selectors are inactive. If the search query is modified,alternative search terms 112 may also change, which may cause differentadd term selectors 106 to become active or inactive dynamically or inresponse to modifications of the search query.

According to one embodiment, it should be appreciated that bycategorizing additional search terms 112, the user is aided inconstructing the search query. For instance, if the user is interestedin searching for items based on description, color, material, or otherrelevant characteristic or quality, the additional search terms 112 areconveniently organized in a way that is useful and beneficial to theuser, particularly for a user who is seeking suggestions that willassist in fully forming a search query that may produce desirableresults. It should be further appreciated that, according to oneembodiment, the categories used to organize the additional search terms112 may be different than those described herein, or variable such thatthey are adapted to the context established by the search query andother factors, such as purchase history/activity (either of the user orof other users), items currently listed for sale on the e-commercewebsite, sales promotions, advertising/marketing campaigns, and soforth.

When the user selects one of the add term selectors 106, GUI 100displays one or more additional search terms 112 associated with theselected add term selector. Similar to alternative search terms 110described above with respect to FIGS. 1C and 1D, one or more additionalsearch terms 112 may selected by the user (e.g., using an input deviceconnected to the user computing device, such as a mouse). The selectedadditional search term 112 is added to the search query, thus modifyingthe search query to include the newly added term in addition to any ofthe terms that were previously in the search query. In this manner, thesearch query, or a new search query, is constructed using one or more ofthe terms that are suggested by the computer system. The computer systemreceives the modified search query automatically and/or when the usersubmits the modified search query from GUI 100. The computer system mayoptionally perform a new search using the modified search query, andreturn the results of the new search to GUI 100. Any of the search termswithin the search query may be modified and/or deleted by the user. Forexample, the user may use an input device such as a keyboard and/ormouse to modify the search query. Alternatively, any of the search termswithin the search query may be modified semi-automatically using thetechniques described above with respect to FIGS. 1C and 1D.

FIG. 2 is a flow diagram illustrating a process 200 according to oneembodiment of the present invention. Process 200 may be performed, forexample, by a computer system such as a web server, a backend systemsupporting an e-commerce environment, or other computing system thatreceives data from a user, including a search query. At block 210, thesearch query is received from the user. The search query may be enteredinto a web page within a web browser, or other user interface, executingon a user computing system, which is subsequently transmitted over anetwork to the computer system for processing. The processing mayinclude applying the search query to one or more search algorithms,which produces a set of search results (e.g., a listing of informationmatching the terms of the search query). The set of search results maybe transmitted from the computer system to the user computing system anddisplayed within the web browser for the user to view.

At block 212, one or more search terms within the search query areidentified. As discussed above, search terms include one or more wordswithin the search query. If the search query only contains one word,then there is at most one search term within the search query. However,if the search query includes more than one word, they may be one or moresearch terms within the search query. For example, a search query thatincludes “New York cuff links” may include search terms “New York” and“cuff links.” One reason for combining “New” and “York” into a singlesearch term “New York” is that New York is a commonly known place name,and the two words would reasonably and logically be associated with oneanother in a search query. Similarly, one reason for combining “cuff”and “links” into a single search term “cuff links” or “cufflinks” isthat cuff links, when used in the same context (e.g., within the searchquery), would reasonably and logically be associated with one another.Such associations may, for example, be pre-defined in a database ofcommon search terms, or identified through a search of a listingdatabase for merchandise items having one or more of the words in thesearch term (e.g., such a search might return items described as “cufflinks” more frequently than items described as “cuff” only.)

The identified search terms may be used for several purposes. In oneembodiment, the words of each search term within the user interface arehighlighted so that the user can select the respective search term fromwithin the entire search query. Once selected, the user may choose todelete the term from the query (e.g., by clicking on a delete icon), or,alternatively, the user may choose to substitute the selected term withan alternative search term that is suggested by the computer system,such as described below.

In another embodiment, one or more alternative search terms aregenerated based, at least in part, on the identified search term (block214). The alternative search terms may include terms that are related orrelevant to the identified search term. For example, if the identifiedsearch term is “green,” the identified search term may be categorized asa color. Accordingly, alternative search terms for “green” may includeother colors, such as “blue,” “red,” “black,” “aqua,” “chartreuse,” andso forth. Alternatively, the term “green” may be categorized as amaterial (e.g., as in an environmentally friendly material).Accordingly, alternative search terms for “green” may include“recycled,” “natural,” “earth,” “biodegradable,” “environmentally-safe,”and so forth. The alternative search terms may be, for example, synonymsand/or antonyms of the identified search terms, or may be chosen from alist of keywords in a database (e.g., keywords within a description of amerchandise item), or from another source.

At block 216, a selected alternative search term is received from theuser. This may occur subsequent to the user selecting (e.g., using aninput device such as a mouse) one of the alternative search terms thatis displayed in the user interface. At block 218, the search query ismodified by substituting the identified search term with the selectedalternative search term. For example, the identified search term isremoved from the search query and replaced with the selected alternativesearch term. The modified search query thus includes the selectedalternative search term. In another embodiment, the search query ismodified by adding the identified search term to the search query. Themodified search query may be displayed in the user interface, and theuser may further modify the search query. Alternatively, a new searchmay be performed using the modified search query, and the results of thenew search displayed in the user interface.

System Overview

FIG. 3 illustrates a block diagram of an electronic commerce systemaccording to one embodiment of the present invention. One or more users310, each using a user computing system, connect with an e-commerceplatform 312 through a network 314, such as the Internet or othercommunication network. The user computing system is configured to run aweb browser program or user interface 316 that enables user 310 toaccess and interact with e-commerce platform 312 (which may includeinteracting with, for example, an e-commerce website). E-commerceplatform 312 includes a web server 320, a search engine 322, and atleast one database 324. Web server 320 includes software that enablese-commerce platform 312 to generate web pages and otherwise communicateand exchange information with each user 310 and user interface 316 overnetwork 314. Search engine 322 includes software that, in response toreceiving search queries from user 310, searches the contents ofdatabase 324 using one or more search algorithms. Database 324 includes,among other things, listing data associated with each item listed withthe e-commerce other information associated with the merchandise items,such as item descriptions, colors, materials, construction techniques,purposes, uses, specifications, intended uses and/or users. For example,the listing data may include a name or title for each item that islisted for sale, a description of the item, information about the sellerof the item, a photograph of the item (or other visual representation),information about purchasing the item, keywords associated with theitem, and other information related to the item.

Each user 310, who may be, for example, a buyer, a seller, or anintermediary, uses a client computing system (not shown) to interactwith e-commerce platform 312. Any user 310, regardless of how they areclassified, can perform searches within e-commerce platform 312.Although a buyer (or potential buyer) usually initiates a search,buyers, sellers, search facilitators, and other intermediaries may allwork in collaboration with one another while searching for an item.

Having thus described several aspects of at least one embodiment of thisinvention, it is to be appreciated various alterations, modifications,and improvements will readily occur to those skilled in the art. Suchalterations, modifications, and improvements are intended to be part ofthis disclosure, and are intended to be within the scope of theinvention. Accordingly, the foregoing description and drawings are byway of example only.

What is claimed is:
 1. (canceled)
 2. A computer-implemented method ofconstructing a search query in an electronic commerce environment, themethod comprising: receiving, over a communications network, a searchquery from a user through a user interface of a user computing device;generating, based at least in part on the search query, one or morealternative search terms that are each different from the search term;generating a plurality of search category selectors based, at least inpart, on the search query, each of the plurality of search categoryselectors being categorically representative, at least in part, of oneor more properties of items identified using the search query andrepresenting lists of additional search terms in different categories ofsearch terms, search terms in each list of additional search terms beingdistinct from the search category selector representing the list ofadditional search terms, the plurality of search category selectorsbeing simultaneously displayed to the user in the user interface; andsending, over the communication network, the one or more alternativesearch terms to the user computing device for presentation in the searchresults page generated responsive to the search query, wherein the listsof additional search terms are hidden from view within the searchresults page until user interaction with the search results page;providing, to the user interface of the user computing device, datarepresenting the plurality of search category selectors and lists ofadditional search terms, wherein the lists of additional search termsare hidden from view until user interaction with the search results pageand cause presentation of one or more different results in the searchresults page in response to the user interaction.
 3. The method of claim2, wherein generating one or more alternative search terms comprisesgenerating one or more alternative search terms that cause the searchquery to be modified by adding or substituting at least one search termof the search query in response to a single interaction with the searchresults page by the user.
 4. The method of claim 3, further comprising:determining that the user interacted with one of the additional searchterms from one of the lists of additional search terms; and in responseto determining that the user interacted with at least one of theadditional search terms from at least one of the lists of additionalsearch terms, modifying search results presented in the search resultspage using search results identified using the at least one of theadditional search terms.
 5. The method of claim 3, further comprising:generating the search results page to include instructions that: presentan initial view of the search results page, wherein the lists ofadditional search terms are hidden from view until user interaction withthe initial view of the search results page; and in response to aspecified interaction with the initial view of the search results page,update the search results page to present the lists of additional searchterms that were previously hidden from view.
 6. The method of claim 5,wherein generating the search results page comprises generating thesearch results page to further update the search results page to showmore or different additional search terms in response to a giveninteraction by the user.
 7. The method of claim 2, further comprising:receiving, in response to user interaction with one of the alternativesearch terms, a different search query that includes at least one termbeyond terms included in the search query; generating different searchresults responsive to the different search query; generating a new listof additional search terms based on one or more attributes of itemsincluded in the different search query; and providing, responsive to thedifferent search query and within a search results page, the differentsearch results and the new list of additional search terms, wherein thenew list of additional search terms is hidden from view until userinteraction with the search results page and cause presentation of oneor more different results in the search results page in response to theuser interaction.
 8. The method of claim wherein receiving the differentsearch query comprises receiving a different search query that excludesat least one term that was included search query.
 9. A systemcomprising: at least one memory device; and one or more processorscoupled to the memory device and configured to execute instructions thatcause the one or more processors to perform operations comprising:receiving, over a communications network, a search query from a userthrough a user interface of a user computing device; generating, basedat least in part on the search query, one or mores alternative searchterms that are each different from the search term; generating aplurality of search category selectors based, at least in part, on thesearch query, each of the plurality of search category selectors beingcategorically representative, at least in part, of one or moreproperties of items identified using the search query and representinglists of additional search terms in different categories of searchterms, search terms in each list of additional search terms beingdistinct from the search category selector representing the list ofadditional search terms, the plurality of search category selectorsbeing simultaneously displayed to the user in the user interface; andsending, over the communication network, the one or more alternativesearch terms to the user computing device for presentation in the searchresults page generated responsive to the search query, wherein the listsof additional search terms are hidden from view within the searchresults page until user interaction with the search results page;providing, to the user interface of the user computing device, datarepresenting the plurality of search category selectors and lists ofadditional search terms, wherein the lists of additional search termsare hidden from view until user interaction with the search results pageand cause presentation of one or more different results in the searchresults page in response to the user interaction.
 10. The system ofclaim 9, wherein generating one or more alternative search termscomprises generating one or more alternative search terms that cause thesearch query to be modified by adding or substituting at least onesearch term of the search query in response to a single interaction withthe search results page by the user.
 11. The system of claim 10, whereinthe instructions cause the one or more processors to perform operationsfurther comprising: determining that the user interacted with one of theadditional search terms from one of the lists of additional searchterms; and in response to determining that the user interacted with atleast one of the additional search terms from at least one of the listsof additional search terms, modifying search results presented in thesearch results page using search results identified using the at leastone of the additional search terms.
 12. The system of claim 10, whereinthe instructions cause the one or more processors to perform operationsfurther comprising: generating the search results page to includeinstructions that: present an initial view of the search results page,wherein the lists of additional search terms are hidden from view untiluser interaction with the initial view of the search results page; andin response to a specified interaction with the initial view of thesearch results page, update the search results page to present the listsof additional search terms that were previously hidden from view. 13.The system of claim 12, wherein generating the search results pagecomprises generating the search results page to further update thesearch results page to show more or different additional search terms inresponse to a given interaction by the user.
 14. The system of claim 9,wherein the instructions cause the one or more processors to performoperations further comprising: receiving, in response to userinteraction with one of the alternative search terms, a different searchquery that includes at least one term beyond terms included in thesearch query; generating different search results responsive to thedifferent search query; generating a new list of additional search termsbased on one or more attributes of items included in the differentsearch query; and providing, responsive to the different search queryand within a search results page, the different search results and thenew list of additional search terms, wherein the new list of additionalsearch terms is hidden from view until user interaction with the searchresults page and cause presentation of one or more different results inthe search results page in response to the user interaction.
 15. Thesystem of claim 14, wherein receiving the different search querycomprises receiving a different search query that excludes at least oneterm that was included in the search query.
 16. A non-transitorycomputer readable medium, storing instructions that, when executed byone or more processors, cause the one or more processors to performoperations comprising: receiving, over a communications network, asearch query from a user through a user interface of a user computingdevice; generating, based at least in part on the search query, one ormore alternative search terns that are each different from the searchterm; generating a plurality of search category selectors based, atleast in part, on the search query, each of the plurality of searchcategory selectors being categorically representative, at least in part,of one or more properties of items identified using the search query andrepresenting lists of additional search terms in different categories ofsearch terms, search terms in each list of additional search terms beingdistinct from the search category selector representing the list ofadditional search terms, the plurality of search category selectorsbeing simultaneously displayed to the user in the user interface; andsending, over the communication network, the one or more alternativesearch terms to the user computing device for presentation in the searchresults page generated responsive to the search query, wherein the listsof additional search terms are hidden from view within the searchresults page until user interaction with the search results page;providing, to the user interface of the user computing device, datarepresenting the plurality of search category selectors and lists ofadditional search terms, wherein the lists of additional search termsare hidden from view until user interaction with the search results pageand cause presentation of one or more different results in the searchresults page in response to the user interaction.
 17. The non-transitorycomputer readable medium of claim 16, wherein generating one or morealternative search terms comprises generating one or more alternativesearch terms that cause the search query to be modified by adding orsubstituting at least one search term of the search query in response toa single interaction with the search results page by the user.
 18. Thenon-transitory computer readable medium of claim 17, wherein theinstructions cause the one or more processors to perform operationsfurther comprising: determining that the user interacted with one of theadditional search terms from one of the lists of additional searchterms; and in response to determining that the user interacted with atleast one of the additional search terms from at least one of the listsof additional search terms, modifying search results presented in thesearch results page using search results identified using the at leastone of the additional search terms.
 19. The non-transitory computerreadable medium of claim 17, wherein the instructions cause the one ormore processors to perform operations further comprising: generating thesearch results page to include instructions that: present an initialview of the search results page, wherein the lists of additional searchterms are hidden from view until user interaction with the initial viewof the search results page; and in response to a specified interactionwith the initial view of the search results page, update the searchresults page to present the lists of additional search terms that werepreviously hidden from view.
 20. The non-transitory computer readablemedium of claim 19, wherein generating the search results page comprisesgenerating the search results page to further update the search resultspage to show more or different additional search terms in response to agiven interaction by the user.
 21. The non-transitory computer readablemedium of claim 16, wherein the instructions cause the one or moreprocessors to perform operations further comprising: receiving, inresponse to user interaction with one of the alternative search terms, adifferent search query that includes at least one term beyond termsincluded in the search query; generating different search resultsresponsive to the different search query; generating a new list ofadditional search terms based on one or more attributes of itemsincluded in the different search query; and providing, responsive to thedifferent search query and within a search results page, the differentsearch results and the new list of additional search terms, wherein thenew list of additional search terms is hidden from view until userinteraction with the search results page and cause presentation of oneor more different results in the search results page in response to theuser interaction.